As enterprise applications become more complex, grow in deployment architectures, and run on elastic and diversified cloud platforms, there is a growing need for sustainable health and performance monitoring of those systems.
Many current monitoring systems are not sufficiently highly-available and do not scale well enough to support the growing needs of companies. One reason is that, in the past, monitoring systems were not considered critical because a monitored system could work even if the monitoring system was down. Monitoring systems are now becoming a crucial component of the monitored system. Monitoring systems interact with other infrastructure systems and if the monitoring system is down, or fails to respond to a load, then the monitored system is not able to automatically scale out/in, automatically resolve issues, and optimize its behavior.
Some existing monitoring systems achieve high availability by replicating databases. This approach often adds complexity and extra load on the monitored system. In addition, replicating databases makes the monitoring system even harder to scale in order to handle larger amounts of monitored entities.
There is thus a need for addressing these and/or other issues associated with the prior art.